home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / misc / emu / cbspeccy_v025b.lha / CBSpeccy / CBSpeccy.doc < prev    next >
Text File  |  1999-05-23  |  20KB  |  480 lines

  1.  
  2.                               _ _  __
  3.                              ( |_)(_  _   _ _ _
  4.              .-------------- (_|_)__)|_)(-_(_(_(_) -------------.
  5.              |                       |          /               |
  6.              |                                                  |
  7.              |        -=< CBSpeccy v0.25b (23.05.99) >=-        |
  8.              |                                                  |
  9.              |  ZX-Spectrum 128k emulator + TR-DOS file system  |
  10.              |                                                  |
  11.              |        Copyright (C) 1997-99 Code Busters        |
  12.              |                                                  |
  13.              |           Written by Rst7 & Max Iwamoto          |
  14.              |                                                  |
  15.              | HomePage: http://www.neworder.spb.ru/cbspeccy    |
  16.              |           http://www.neworder.spb.ru/codebusters |
  17.              |                                                  |
  18.              |          e-mail:   maxi@public.kharkov.ua        |
  19.              |                    maxi_cbs@chat.ru              |
  20.              |                    Code_Busters@chat.ru          |
  21.              |                                                  |
  22.              `--------------------------------------------------'
  23.  
  24. Need:
  25.  
  26.      + AGA/ECS + 68030/040/060 CPU + MMU + ~5 Mb Ram.
  27.      + PPC optional
  28.      + If you have any question write to us.
  29.      + If you want to see your favorite file format support in CBSpeccy,
  30.        than send us docs about this format & requarements.
  31.  
  32.  
  33. Features:
  34.  
  35.      + 99% compatible Z80 emulation (all commands (+ all undocumented),
  36.        include command timings, register R and interrupt emulation).
  37.      + 100% speed of real ZX-Spectrum (all timings come from Pentagon128 -
  38.        russian analog of ZX-Spectrum).
  39.      + Realtime screen refresh every 32 pixels (demos & games that fixed or
  40.        oriented on pentagon timings work perfect).
  41.      + 99% of ZX-Spectrum games worked!
  42.      + Support *.TAP, *.SNA, *.Z80(version 1.54, 2.01 & 3.00) file formats!
  43.      + Support real ZX Tape (*.TZX) file format.
  44.      + TR-DOS file system emulation (Support *.TRD files)!
  45.      + Support HOBETA and SCL file formats.
  46.      + AY-3-8910(12) Sound chip emulation (not complete)
  47.      + All ZX-Spectrum joysticks supported (Kempston, Sinclair 1, Sinclair 2,
  48.        Protek (Cursor)).
  49.      + Support Kempston mouse.
  50.      + etc...
  51.  
  52.  
  53. How to use emulator:
  54.  
  55.  
  56.     outside emulator:
  57.  
  58.      + "Go!" for start & continue emulation.
  59.      + "Reset & Go!" for hard reset ZX-Spectrum & run emulation.
  60.      + "Load & Start ShapShot!" for load & start snapshot file
  61.        in *.SNA or *.Z80 file format.
  62.      + "Save Frozen..." for save current state of emualtor.
  63.      + "Load Frozen..." for load freezed state of emualtor.
  64.      + "Save ZX Screen..." for save active ZX-Spectrum screen in *.SCR
  65.        format (6912 bytes lenght - standart ZX-Spectrum screen).
  66.      + TRDOS disk A:(B:) Load - insert file in *.TRD or *.DSK format
  67.        in drive A:(B:).
  68.      + TRDOS disk A:(B:) Save - save file in *.TRD or *.DSK format to
  69.        your hard drive (only if you write some data in emulation mode
  70.        on disk (A: or B:))
  71.      + "Amiga VTOTAL" set maximum of vertical scan lines that generated by
  72.        your Amiga. The number must be from 312 to 340. The standart
  73.        Pentagon128 number is 320. But some progs for normal emulation need
  74.        more than 320. Read details in "Testing" part of documentation.
  75.      + "Register R emulation" - set "Smart" or "Full" register R emulation.
  76.        It's needed if programs with protection(or interrupt check) can't
  77.        work in emulator. For example "POTSWORTH" (Code Busters version)
  78.        and "PSG-WINS" (by PRESTIGE).
  79.      + "Save Config" save config file of the emulator in directory s:
  80.        and named it "CBSpeccy.config". In Config file placed full dirpath for
  81.        Snapshot files, TRDOS drive A:(B:), *.TAP files, VTOTAL number,
  82.        Refresh Mode, Screen Mode, ZX-Screens dirpath, Frozen files dirpath,
  83.        Joystick Mode, Joystick Keys, Wait Key (in *.TAP loader). 
  84.      + "Load Config" load config file from s: and restart emulator. All
  85.         path's cleared but files inside emulator not changed (only cleared
  86.         names in main menu).
  87.      + "Refresh Type" - set "Fast" for fast emulation (only for PAL monitors
  88.        and AGA machines) or "CPU" for ideal emualtion (AGA/ECS chipset and
  89.        any monitors types) mode (but more slow than "FAST" mode).
  90.      + "Select" - select screen mode (present only in "CPU" mode).
  91.      + "POKE" - set the adress and data for change ZX-Spectrum memory from
  92.        16384 to 65535. Data must be from 0 to 255.
  93.      + "Poke every frame" - do poke at poke address every frame. It's may
  94.         need for games with low max lives number . I have 2 ways: 1. After
  95.         some death return to main menu and dopoke again (not good way);
  96.         2. Use Poke every frame option and never need go back to main menu
  97.         for repoke number of lives (it's automatically refreshes every
  98.         frame!).
  99.      + "Wait key"/"Fast load" - if "Wait key" is on than emulator wait Shift
  100.        pressing after one of tape block load (it may be need if you want
  101.        save to disk your favorite picture). "Fast load" load *.TAP file
  102.        without waiting keypress.
  103.      + "Joystick is:" - set active joystick for Amiga joystick or joypad.
  104.        You can select Kepston, Sinclair 1, Sinclair 2, Protek (Cursor) or
  105.        select joystick buttons as keyboard keys!
  106.      + "Start/Next value" - values for first/next search in Spectrum memory
  107.        for cheat. For example: Game run with 4 lives. Start search 4.
  108.        Die 1 times. Next search 3. In list you see some address that
  109.        changed from 4 to 3. For check one of it click by mouse poiner
  110.        on interesting address. Address that you select automatically
  111.        coping to POKE address box. After that enter how many lives (energy,
  112.        etc) you want in POKE variable box and press enter. Press "Go!" for
  113.        check.
  114.      + "Memory mask" - special value for 040/060 MMU, used for fastest
  115.        memory work. You can use "0","1" or "x"(ignore bit) chars for input.
  116.        This mask copy to "Transparent Translation" registers according to
  117.        address of FastRam in your computer. For example, in A3000 64M ram
  118.        placed on $08000000-$0BFFFFFF, so mask equal 00001xxx and protect
  119.        area $08000000-$0FFFFFFF. Refer to "Section 3 Memory Management Unit"
  120.        in M68040 User's Manual.
  121.  
  122.  
  123.     inside emulator:
  124.  
  125.      + F1   - Vertical Blank Interrupt down.
  126.      + F2   - Vertical Blank Interrupt up.
  127.      + F4   - Jump to #DB00/Page7 and set internal variables (PC) for STS6.2,
  128.               loaded by user.
  129.      + F5   - Rewind Tape to begin.
  130.      + F6   - Play on Tape/Stop on Tape (in TAP or TZX file).
  131.      + F7   - Lock/Unlock port 7FFD.
  132.      + F8   - TR-DOS Magic button (NMI).
  133.      + F9   - Hard Reset ZX-Spectrum.
  134.      + F10  - Exit from emulation (for continue emulation press "Go!" again).
  135.      + Esc  - Caps Shift + Break.
  136.      + Ctrl - Cursor mode "E"
  137.      + Help - Cursor mode "C"
  138.      + About other keys read in file "CBSpeccy.keyboard". If you want
  139.        change some keys than change it in "CBSpeccy.keyboard" file and
  140.        place in S: directory. After start emulator check s: and read
  141.        config file. If keyboard config not present in s: emulator read it
  142.        from PROGDIR: directory.
  143.      + Caps Lock - help you press many keys at once. Press Caps Lock, after
  144.        that press keys that you need (by one), after again press Caps Lock).
  145.        It can be needed in games if you want enter cheat code (for example
  146.        press "TURBO" at main menu in Turbo the Tortoise game).
  147.        
  148.               
  149. FAQ:
  150.  
  151.      Q: Emulator opens a black screen with a vertical white line at
  152.         each side of the screen.
  153.  
  154.      A: Use program TUDE from emulator package with parametr:
  155.  
  156.                    tude VBASE=FAST
  157.  
  158.  
  159.      Q: How i can convert trdos disk in *.TRD file?
  160.  
  161.      A: Use zxdos program from emulator package! For example:
  162.  
  163.                    zxdos TRACKREAD DF1: Ram:FILENAME.TRD
  164.  
  165.  
  166.      Q: Emulator crash on 040/060.
  167.  
  168.      A: You must correctly set memory mask values, depended on addresses of
  169.         FastRam in your computer. Usualy used memory addresses and masks
  170.         are:
  171.  
  172.              From:            To:           Mask:
  173.  
  174.              40000000         7FFFFFFF      01xxxxxx    ; CBSpeccy default
  175.              08000000         0BFFFFFF      00001xxx    ; CBSpeccy default
  176.              07000000         07FFFFFF      00000111
  177.              80000000         BFFFFFFF      10xxxxxx
  178.  
  179.         Also your can use two different memory masks at the same time.
  180.  
  181.  
  182. Thanx: (in alfabetical order)
  183.  
  184.      + Alexey V. Lebedev, BKJ, Eugene Stepanoff, Gerard Sweeney, Hurtman Joe,
  185.        Igor Goldenberg, James L Boyd, Joe Mackay, Kan0, Kisa, Mac Buster,
  186.        Rafal Kwasny, Vladimir Larkov & all others! Thanx for support
  187.        and inspiration!
  188.  
  189.  
  190. History:
  191.  
  192.    Date: 23-05-99, Version: 0.25b
  193.  
  194.      + Bug fix in Z80/SNA loader -  no crash on 040/060.
  195.      + Some optimizing emulator code.
  196.      + Changes on on our web site - new design (by NightProwler), also
  197.        now you can download game's and demos that we released for Speccy
  198.        from our web site (www.neworder.spb.ru/codebusters).
  199.  
  200.  
  201.    Date: 16-05-99, Version: 0.24b (another day - another release;)
  202.  
  203.      + Full 040 support (Thanx Hurtman Joe for testing). Please again
  204.        send us reports about "How CBSpeccy work on your 68040?".
  205.      + Bug fix in TAP/TZX loader - no crash when tape file not loaded.
  206.      + Bug fix in Z80 loader - now work on 040/060 cpu's.
  207.      + Bug fix in STS starter - now work on 030 again.
  208.      + Known bug: emulator crash on 060. Wait next version.
  209.  
  210.  
  211.    Date: 15-05-99, Version: 0.23b
  212.  
  213.      + Bug fix in 68030 detection! Now 68030 version work ok!
  214.      + Add saver old 040/060 MMU state (Maybe it's help for more 040
  215.        compatibility for different cards).
  216.      + Add "Memory Mask" option - read about it on "How to use emulator"
  217.        and "FAQ" sections.
  218.  
  219.  
  220.    Date: 10-05-99, Version: 0.22b (Again Super Update!!!)
  221.  
  222.      + Restore 030 support.
  223.      + Speedup 040 engine - now on 040/25 we have real ZXSpectrum speed.
  224.      + Bug fix in AY emulation.
  225.  
  226.  
  227.    Date: 09-05-99, Version: 0.22b1 (Super Update!!!)
  228.  
  229.      + Add 040/060 support (this version work only on 040/060, but
  230.        release 0.22b will can support 030 again).
  231.      + Add smart page swapper for 040/060 MMU (its a crap if u compare
  232.        it with 030 MMU).
  233.      + Faster CPU refresh mode (Border in TZX files now look real).
  234.  
  235.  
  236.    Date: 18-04-99, Version: 0.21b
  237.  
  238.      + Bug fix in CALL macro (REDHEAT.TZX decoder work 100%).
  239.      + Add AY reset.
  240.      + Add LD A,R/I Z80 bug (KOLOBOK2 now work).
  241.      + Add F4 key - Jump to #DB00/Page7 and set internal variables (PC)
  242.        for STS6.2, loaded by user.
  243.      + Add some TZX new features (now supported 80% of all).
  244.      + Add smart TZX load (if program use rom tape loader, than it work as
  245.        with .TAP file).
  246.      + Add "Q.Format" option for quick format disk A or B from menu (no
  247.        longer need file blank.trd).
  248.      + Bugs fix in MIC bit generation routines.
  249.      + No guru on TZX long group (>64K). Now ATHENA128 (and others)
  250.        work perfect.
  251.      + New patch in TRDOS Rom for double side FORMAT.
  252.      + Little rewrite AY emulation.
  253.      + Use TRDOS Disk B for TZX buffer (for decrease used memory), so if you
  254.        load TZX file, data on disk B crashes!
  255.  
  256.  
  257.    Date: 27-02-99, Version: 0.20b
  258.  
  259.      + Bug fix in border emulation, no more Guru on some load strips.
  260.      + Add "Poke every frame" button. No need time to time update
  261.        poke data place;)
  262.      + Add "Load config button". It's restart emulator with parameters
  263.        from config file.
  264.      + Add CBSpeccy logo and some rebuild GUI.
  265.      + Add "Save TZX info option". Not all TZX features support. We add
  266.        more in next versions. Files have *.TFI names (TZX File Info).
  267.      + Add more TZX features support.
  268.      + Rewritten IN ??,?? routines and keyboard routines for speed up.
  269.        Also TZX load speed up.
  270.      + Totaly rewritten MIC bit generation routines.
  271.      + Some changes in 1818VG93 emulation. Now ZX-Format 8 works ok,
  272.        but "FORMAT" option in TR-DOS not work. We fix it in next version.
  273.      + Some optimize emulator code. Now it take "only" 2Mb of disk space.
  274.      + Add new version 1.04 of ZXDOS. Also we add on site ZXS package - 
  275.        TR-DOS filedisk server by Max Patrov. Best used with Dopus5. You
  276.        can find it at Download/Tools part of CBSpecy site.
  277.      + Start code SegaMD2 emulator ;-) See ComingSoon.iff file in emulator
  278.        archive!
  279.  
  280.  
  281.    Date: 07-02-99, Version: 0.19b
  282.  
  283.      + Bug fix in saver old MMU state (No more Guru on first run).
  284.      + Bug fix in "TRDOS Disk B Load...". It's no more clear
  285.        TRDOS Disk A save status.
  286.      + Add border emulation (only in CPU mode).
  287.      + Add TZX file format support (Not full, wait next version).
  288.      + Add SCL file format support (Multiple Hobeta file).
  289.      + Add game cheater (Now you can do unlimited lives by yourself).
  290.      + Add all DDCB z80 instructions emulation for more compatibility
  291.        in real ZX-Spectrum's loaders that use strong protection with
  292.        undocumented commands. Now 100% z80 opcodes emulated (include
  293.        all undocumented).
  294.      + Rewritten VBlank interrupt position adjuster for normal work with
  295.        border emulation.
  296.      + Now emulator can work with kickstart V37.
  297.  
  298.  
  299.    Date: 09-01-99, Version: 0.18b
  300.  
  301.      + Add VBlank interrupt position adjuster (F1 - VBI down, F2 - VBI up).
  302.        Use it for games with sprites and beam interference.
  303.      + Bug on exit from emulation fixed.
  304.      + Now you can place your own speccy roms in PROGDIR:ROMS with names
  305.        48.rom, 128.rom and trdos.rom. If emulator can't find user roms, it
  306.        use internal roms.
  307.      + New style disk activity indicator.
  308.      + Patch internal TRDOS rom for speedup disk access.
  309.      + Add smart VG93 timing for fast disk access.
  310.      + Add port 7FFD lock key (F7), you can see current status on screen.
  311.      + Add TRDOS Magic button (F8).
  312.      + Add HOBETA file insert option.
  313.      + Now emulator save old MMU state, so no problems with remapped
  314.        kickstart.
  315.  
  316.  
  317.    Date: 26-12-98, Version: 0.17b
  318.  
  319.      + Found & fix bug in keyboard (it come from 0.16b version ;)
  320.      + Add Kempston mouse as Amiga mouse.
  321.      + Add more 1818VG93 compatibility. ZX-Format now work perfect!
  322.      + Add action (Amiga audio filter LED) while TR-DOS disk loading.
  323.      + Finally rewritten *.TAP files loader. Now it 100% as in real
  324.        ZX-Spectrum Rom! Many that can't work before work now!
  325.      + Add "Wait Key"/"Fast Load" option for *.TAP files. If you want
  326.        enjoy or save to disk ZX Screen from tape you can select "Wait key"
  327.        and next block loading only after Shift key pressing!
  328.      + Add all ZX-Spectrum joysticks. Now you can select in Main Menu
  329.        type of your favorite joystick! Also you can select keys from
  330.        keyboard and set it for joystick buttons.
  331.      + Some changes in z80 emulation (2% speed up).
  332.  
  333.  
  334.    Date: 23-12-98, Version: 0.16b (X-MAS edition)
  335.  
  336.      + Add smart register R emulation for all commands (z80 emulation
  337.        speed up to 5%)!
  338.      + Speed up CPU refresh routine.
  339.      + Add flash.
  340.      + Add keyboard config file. Now you can make your lovely keyboard
  341.        configuration! (file named "CBSpeccy.keyboard" and placed in
  342.        PROGDIR: (default) or S: (changed)).
  343.      + Add many keys at once pressing (press Caps Lock, after that press
  344.        keys that you need (by one), after again press Caps Lock).
  345.  
  346.  
  347.    Date: 21-12-98, Version: 0.15b (intrenal)
  348.  
  349.      + Add refresh type - you can select Fast (only for PAL monitors) or
  350.        CPU (any monitors types) mode.
  351.      + Screen Mode in MENU now as Workbench screen mode.
  352.      + Add POKE option. Now you can cheat games.
  353.      + Now you can run emulator by doubleclick.
  354.      + Add "Save ZX Screen..." option. Now you can Save your favorite
  355.        screens from games and demos.
  356.      + Add "Save Frozen..." and "Load Frozen..." options. You can save
  357.        current state of your favorite programs at any time (and load too).
  358.  
  359.  
  360.    Date: 03-12-98, Version: 0.14b1
  361.  
  362.      + Add TUDE & ZXDOS in emulator package. TUDE for set VBR in FAST.
  363.        ZXDOS for convertion trdos disk -> file *.TRD.
  364.  
  365.  
  366.    Date: 02-12-98, Version: 0.14b
  367.  
  368.      + The emulator now have name - "CBSpeccy" (do you like it?).
  369.      + Add config file (it's placed in s: directory & named CBSpeccy.config)
  370.      + Fixed bug in FDC interrupt command ("Refresh" by XTM now work).
  371.      + Register R count bug in DDCB/FDCB commands fixed.
  372.      + Add possible of change register R emulation mode (Smart/Full).
  373.      + Little GUI changes.
  374.      + Written more documentation.
  375.  
  376.  
  377.    Date: 29-11-98, Version: 0.13b
  378.  
  379.      + First public release.
  380.      + Smart register R emulation (z80 emulation speed up to 5%)!
  381.      + fix bug in "INC H" z80 instruction.
  382.      + Major update in sound chip (AY-3-8910(12)) emulation. Added
  383.        overlay emulation. Standart sound routines totally rewritten.
  384.      + Some minor fixes in other parts of emulator.
  385.  
  386.  
  387.    Date: 28-11-98, Version: 0.12b
  388.  
  389.      + Optimased sound emulation.
  390.      + Update GUI (not finally).
  391.      + Optimazed Z80 emulation tables (Now crunched size of emulator ~90k).
  392.      + Updated 1818VG93 emulation. Now you can format disks!
  393.  
  394.  
  395.    Date: 22-11-98, Version: 0.11b
  396.  
  397.      + Add GUI.
  398.      + Little changes in z80 emulation.
  399.      + Fixed bug in *.TAP loader. Now TAP with errors works perfect!
  400.  
  401.  
  402.    Date: 15-11-98, Version: 0.10b
  403.  
  404.      + Fixed bug in keyboard emulation.
  405.      + Some changes in FDC emulation (Eye Ache 2 now fully worked!!!).
  406.      + Added Rom protection. Now programs can't damage ZX-Spectrum Rom!
  407.      + And again changes in z80 emulation.
  408.      + Add Kempston Joystick emulation on Amiga Joystick or Gamepad!
  409.  
  410.  
  411.    Date: 08-11-98, Version: 0.09b (Super Update!!!)
  412.  
  413.      + Add 1818VG93 emulation
  414.      + Add TR-DOS (Now you can use images of ZX disks (*.TRD & *.DSK)).
  415.      + Add AY-3-8910(12) Sound Chip emulation. It now not full, but music
  416.        played not bad!
  417.      + And again changes in z80 emulation.
  418.      + Added "VTOTAL" parametr. It can help speed up the emulation.
  419.  
  420.  
  421.    Date: 01-11-98, Version: 0.08b
  422.  
  423.      + Rewritten some commands in z80 emulation.
  424.      + Placed emulation on interrupt.
  425.      + Again rewritten ZX-Screen routines. Now it can refresh every 32
  426.        pixels. Multicolor in "EYEACHE" work!
  427.      + Fixed some bugs in *.Z80 file loader.
  428.      + Added FULL "IN" & "OUT" commands emulation. But no all harware for
  429.        their port emulated now (it's added later).
  430.  
  431.  
  432.    Date: 03-10-98, Version: 0.07b
  433.  
  434.      + Found bug in "XOR A" command. Dizzy 2 now work perfect!
  435.      + Rewritten ZX-Screen Routines. It very, very slow, but we work on it,
  436.        wait some days.
  437.      + Major changes in z80 emulation. Added 128k pages emulation. 128k
  438.        basic run perfect.
  439.      + Added *.Z80 file loader(support all formats - 1.54, 2.03 & 3.00).
  440.  
  441.  
  442.    Date: 13-09-98, Version: 0.06b
  443.  
  444.      + Written *.SNA file loader.
  445.      + Found bug in "SUB (HL)" command. Freddy Hardest 3 work 100%!
  446.      + Added ZX-Spectrum keyboard emulation on Amiga keyboard.
  447.  
  448.  
  449.    Date: 07-09-98, Version: 0.05b
  450.  
  451.      + 48k basic run! Yes, we made it!
  452.      + Freddy Hardest 3 work, but some bug on screen.
  453.  
  454.  
  455.    Date: 30-08-98, Version: 0.04b
  456.  
  457.      + Z80 engine rewritten with MMU using! Now we try to find all bugs.
  458.  
  459.  
  460.    Date: 23-07-98, Version: 0.03b
  461.  
  462.      + Begin totally rewritten z80 engine for MMU emulation.
  463.  
  464.  
  465.    Date: 07-07-98, Version: 0.02b
  466.  
  467.      + Screen routines written, but zx-spectrum can't run now. Need to
  468.        fix many bugs in z80 emulation.
  469.  
  470.  
  471.    Date: 05-07-98, Version: 0.01b
  472.  
  473.      + Completed Z80 engine.
  474.      + Begin write ZX-Screen routines.
  475.  
  476.  
  477.    Date: 23-02-98, Version: 0.00b
  478.  
  479.      + Begin writting new z80 emulator (with all commands timing,
  480.        interrupt & full register R emulation.